//
//  ViewController.m
//  practise3
//
//  Created by 千锋 on 15/11/28.
//  Copyright (c) 2015年 abc. All rights reserved.
//

#import "ViewController.h"
#import "AdCell.h"
#import "BookCell.h"
#import "BookModel.h"
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
    UITableView * _tableView;
    NSMutableArray * _dataArray;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    [self creatTableView];
    [self creatData];
    // Do any additional setup after loading the view, typically from a nib.
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}


//创建TableView
-(void)creatTableView
{
    _tableView=[[UITableView alloc]initWithFrame:self.view.bounds];
    [self.view addSubview:_tableView];
    _tableView.dataSource=self;
    _tableView.delegate=self;
}

//创建数据
-(void)creatData
{
    _dataArray=[[NSMutableArray alloc]init];
    //第一部分数据
    NSArray * adImageArray=@[@"image0.png",@"image1.png",@"image2.png",@"image3.png"];
    [_dataArray addObject:adImageArray];
    
    //第二部分数据：书籍部分
    //地区plist文件
    NSString * bookDataPath=[[NSBundle mainBundle]pathForResource:@"bookData" ofType:@"plist"];
    NSArray * plistArray=[[NSArray alloc]initWithContentsOfFile:bookDataPath];
    for (NSDictionary * bookDict in plistArray) {
        
        BookModel * bookModel=[[BookModel alloc]init];
        //直接将字典的key和模型关联起来，通过KVC(key-value-coding)方式
        [bookModel setValuesForKeysWithDictionary:bookDict];
        [_dataArray addObject:bookModel];
    }
    //重新加载
    [_tableView reloadData];
}

#pragma mark-UITableViewDataSource
//组子单元格的数目
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return _dataArray.count;
}
//创建单元格
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    //复用
    //判断是否为第一个单元格
    if (indexPath.row==0) {
        AdCell * cell=[tableView dequeueReusableCellWithIdentifier:@"ADCELL"];
        if (cell==nil) {
            //这里设置frame是无效的，只能通过代理方法来确定cell的高度和宽度
            
            cell=[[AdCell alloc]initWithFrame:CGRectMake(0, 0, 370, 100)];
            
        }
        cell.imageNameArray=_dataArray[indexPath.row];
        return cell;
    }
    else
    {
        //复用单元格
        BookCell * cell=[tableView dequeueReusableCellWithIdentifier:@"BOOKCELL"];
        if (cell==nil) {
            cell=[[BookCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"BOOKCELL"];
            
        }
        //取出数据
        BookModel * book=_dataArray[indexPath.row];
        cell.book=book;
        return cell;
    }
        
}
#pragma mark-UITableViewDelegate
//修改cell的行高度
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (indexPath.row==0) {
        return 200;
    }
    else
    {
        return 100;
    }
}
@end





























